SET ANSI_NULLS ON 
GO
SET QUOTED_IDENTIFIER ON
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[siodge_reporte_requerimientoconfig]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
	drop procedure [dbo].[siodge_reporte_requerimientoconfig]
GO

create			procedure			[dbo].[siodge_reporte_requerimientoconfig]
								@GestionId				int = 3,
								@UnidadMilitarIds		varchar(50)
AS
BEGIN
		declare @UnidadesTemp table(id int)

        if LEN(@UnidadMilitarIds) = 0
        begin

            insert into @UnidadesTemp
            select UnidadMilitarId from UnidadMilitar
        end
        else
        begin
           insert into @UnidadesTemp
           select [Values] from dbo.siprade_slice_string(',', @UnidadMilitarIds)
        end

        select 
            g.Codigo GradoCodigo,
            g.Nombre GradoNombre,
            e.Codigo EspecialidadCodigo,
            e.Nombre EspecialidadNombre,
            a.Codigo ArmaCodigo,
            a.Nombre ArmaNombre,
            tu.Codigo TipoUnidadCodigo,
            tu.Nombre TipoUnidadNombre,
            um.Codigo UMCodigo,
            um.Nombre UMNombre,
            tc.Codigo CargoCodigo,
            tc.Nombre CargoNombre,
            rc.NumPersonas NumProgramadas,
            NumDestinadas = 0,
            rc.PromocionDesde,
            rc.PromocionHasta

        from RequerimientoConfig rc
        inner join UnidadMilitar um on um.UnidadMilitarId = rc.UnidadMilitarId
        inner join @UnidadesTemp ut on ut.id = um.UnidadMilitarId
        inner join TipoUnidad tu on tu.TipoUnidadId = um.TipoUnidadId
        inner join Arma a on a.ArmaId = rc.ArmaId
        inner join Grado g on g.GradoId = rc.GradoId
        left join TipoCargoComando tc on tc.TipoCargoComandoId = rc.TipoCargoComandoId
        left join Especialidad e on e.EspecialidadId = rc.EspecialidadId

        where rc.GestionId = @GestionId

END
GO



--select * from DUA_Usuario where Nombre like '7911231'